package com.wuyoucar.mapper;

import com.wuyoucar.common.ResultBean;
import com.wuyoucar.entity.TReport;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.PathVariable;

import java.util.List;

@Component
@Mapper
public interface ReportMapper {

    //获取未审核的报案信息
    List<TReport> getReport();

    int updateReport(@Param("reportid") Integer reportid, @Param("userid") Integer userid);

    //修改审核状态（初审）
    int updateReportAudit(@Param("policynum") Integer policynum, @Param("firstid") Integer firstid);

    List<TReport> showDispatcher();


    //查看所有待审核案件
    List<TReport> getAllReport();

    //查看所有待审核案件带分页条件
    List<TReport> getAllReportByreportno( );


    List<TReport> getLossAssessment();

    //定损条件查询
    List<TReport> condition(TReport tReport);

    //定损
    int updateLossAssessment(TReport tReport);

    //查看报案详情
    TReport getReportDetails(Integer reportid);

    //查看已派遣的报案号
    List<TReport> getHasSent(Integer surveyorid);

    //查看状态为'待放款/闪赔'的理赔单
    List<TReport> selectReportByState(@Param("reportstate") String reportstate,
                                      @Param("reportstate1") String reportstate1);
    //查看状态为'已放款'的理赔单
    List<TReport> selectReportBySatae2(@Param("reportstate") String reportstate);
    //根据金额查看状态为'待放款/闪赔'的理赔单
    List<TReport> searchByMoney(@Param("money1")Double money1,
                                @Param("money2")Double money2,
                                @Param("reportstate")String reportstate,
                                @Param("reportstate1")String reportstate1
                                );

    //打款后修改理赔单状态
    int updateState(TReport tReport);

    int alterReport(@Param("newName") String newName, @Param("reportid") Integer reportid, @Param("remark") String remark);

    //修改审核状态（复审）
    int updateRecheck(@Param("policynum") Integer policynum, @Param("firstid") Integer firstid);

    //查看所有状态为待复审的案件
    List<TReport> getAllReportByStates();

    //根据保单号查询保单信息
    TReport getReportByPolicynum(Integer policynum);

    //修改审核状态为待放款-->
    int passVerification(@Param("policynum") Integer policynum, @Param("firstid") Integer firstid);
    //报案号查询
    List<TReport> getReportbyReportid(TReport reportno);

    //闪赔
    int sanPei(@Param("damageImg") String damageImg,
               @Param("signImg") String signImg,
               @Param("money") Integer money,
               @Param("reportid") Integer reportid);

    List<TReport> searchByMoney2(@Param("money1") Double money1,
                                 @Param("money2") Double money2,
                                 @Param("reportstate") String reportstate);
    //TReport getReportbyReportid(@Param("reportno") Integer reportno);

    //修改订单状态（已驳回）
    int turndown(@Param("policynum") Integer policynum, @Param("firstid") Integer firstid, @Param("remark") String remark);

    //报案人查询
    List<TReport> searchName(@Param("rname") String rname);
}
